package cn.nbt.busManage.service;

import cn.nbt.busManage.model.dto.ScheduleDto;
import cn.nbt.busManage.model.entity.Driver;
import cn.nbt.busManage.model.entity.Schedule;
import org.apache.ibatis.annotations.*;

import java.util.List;

/**
 * @author lyq
 * @time 2024/6/19 18:33
 */
public interface ScheduleService {

    /**
     * 查询所有排班信息
     * @return 排班信息
     */
    List<ScheduleDto> findAll();

    /**
     * 根据信息查询司机
     *
     * @param query 查询信息（名称）
     * @return 司机信息
     */
    List<ScheduleDto> findByName(String query);

    /**
     * 根据司机信息查询上班表
     *
     * @param driverId 查询信息（id）
     * @return 司机信息
     */
    List<ScheduleDto> findByDriverId(Integer driverId);


    /**
     * 根据信息增加司机
     *
     * @param schedule 增加信息
     */
    void save(Integer driverId,Schedule schedule);

    /**
     * 根据信息更新司机
     *
     * @param driverId 更新信息
     * @return 信息
     */
    void update(Integer driverId, Schedule nschedule);

    /**
     * 根据信息删除司机
     * @param driverId 删除信息
     */
    void deleteDriverSchedule(@Param("driverId") Integer driverId);

    ScheduleDto findByScheduleId(Integer id);
}
